#include <iostream>
#include <vector>
#include <string>
#include <queue>
#include <unordered_map>
// 最长递增子序列：https://leetcode.cn/problems/longest-increasing-subsequence/
using namespace std;
class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        int n=nums.size();
        vector<int> dp(n,1);
        int ret=1;
        for(int i=1;i<n;i++)
        {
            for(int j=i-1;j>=0;j--)
            {
                if(nums[j]<nums[i]) 
                    dp[i]=max(dp[i],dp[j]+1);
            }
            ret=max(ret,dp[i]);
        }
        return ret;
    }
};